/**
 * @param {number[]} nums
 * @return {void} Do not return anything, modify nums in-place instead.
 */
var sortColors = function(nums) {
    if(nums.length==1)return nums
    let left = 0
    let right = nums.length-1

    // [2,0,2,1,1,0]
    for (let index = 0; index < nums.length; index++) {
        if(index>right) break
        if(nums[index]==0){
            [nums[left],nums[index]] = [nums[index],nums[left]]
            left++
            // continue
        }
        if(nums[index]==2){
            [nums[right],nums[index]] = [nums[index],nums[right]]
            right--
            index--
        }
    }
    return nums
};
// console.log(sortColors([2,0,2,1,1,0]));
// 三色问题, 可以第一遍只管0, 第二遍只管2
// 双指针  一遍记录p0和p1的位置,就是代表0和1到了哪里
// 双端双指针left指向0 right指向2然后1就不懂,
// 这里就是当和2比较的时候当值指针不能要--一次.
console.log(sortColors([1,2,0]));

